def make_func(var x:Int):Int->Int->Int {
    def add(var y:Int):Int->Int {
        y = y + x;
        def inner(var z:Int):Int {
            return x + y + z;
        }

        return inner;
    }

    return add;
}

var add4:Int->Int = make_func(1)(2);
print(add4(5));

